<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>声明变量</title>
</head>
<body>
  <input type="button" value="点击" onclick="fun1()">
  <script type="text/javascript">
    /*
      var声明变量
      var声明的变量可以忽略for和if语句
      在for和if语句块中声明的变量, 在其外部可以正常使用
     */
    for (var i = 0; i < 10; i++) {
      var b = i + 1;
    }
    // 不会报错
    var c = i + b;
    console.log(c);

    // var在函数内使用
    // var声明的变量 只能在函数内部使用
    function fun1() {
      var a = 10;
      //d = 20; // 声明变量的时候 不加任何关键字修饰 就是一个全局变量, 整个页面都可以使用 该方式不推荐使用
      alert("函数内部声明的变量" + a);
      // 调用其他函数
      fun2();
    }
    function fun2() {
      //alert("函数1中声明的变量" + d);
    }

    // let声明变量
    for (let e = 0; e < 10; e++) {
      let f = e + 1;
    }
    // 运行会报错 Uncaught ReferenceError: e is not defined
    //let g = e + f;
    //console.log(g);

    // 声明一个常量 声明的同时必须赋值
    const m = 50;
    //m = 20; // 使用过程中不可以改变值
    console.log(m);
    let k = null;
    alert(typeof k);
  </script>
</body>
</html>